home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part1 / 6808 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.3 KB

  1. Path: duck.ibh-dd.de!beck
  2. From: beck@duck.ibh-dd.de (Andre Beck)
  3. Newsgroups: comp.lang.c
  4. Subject: Who's dumb: Summary
  5. Date: 15 Feb 1996 11:39:26 GMT
  6. Organization: IBH - Xlink PoP Dresden
  7. Message-ID: <4fv61e$mho@micky.ibh-dd.de>
  8. NNTP-Posting-Host: duck.ibh-dd.de
  9. X-Newsreader: TIN [version 1.2 PL1]
  10.  
  11. Hi,
  12.  
  13. thanks to all who replied to me regarding my problem
  14.  
  15.  x = (*dat++ << 8) | *dat++;
  16.  
  17. It turns out to be _ME_ who is dumb in the given case, because I
  18. didn't know about the subtle issue of sequence points in C. The
  19. above expression has two evaluations with side effects in one line,
  20. but this gives a sequence point - a point where all side effects
  21. need to be evaluated - for each of them. This can be done by splitting
  22. the expression in two lines. With the above expression, it is really
  23. legitimate for the compiler to optimize in the way I observed.
  24.  
  25. References:
  26.  The FAQ of comp.lang.c (seems I should have read it before...)
  27.  ANSI/ISO 9899-1990 section 6.3 and Annex C
  28.  
  29. I'm going to change some code now,
  30. Thanks, Andre.
  31. --
  32. +-o-+--------------------------------------------------------+-o-+
  33. | o |               \\\- Brain Inside -///                   | o |
  34. | o |                   ^^^^^^^^^^^^^^                       | o |
  35. | o | Andre' Beck (ABPSoft) beck@ibh-dd.de XLink PoP Dresden | o |
  36. +-o-+--------------------------------------------------------+-o-+
  37.